package demo04.Calendar;

import java.util.Calendar;
import java.util.Date;

/*
    Calendar类的常用成员方法:
        public int get(int field)：返回给定日历字段的值。
        public void set(int field, int value)：将给定的日历字段设置为给定值。
        public abstract void add(int field, int amount)：根据日历的规则，为给定的日历字段添加或减去指定的时间量。
        public Date getTime()：返回一个表示此Calendar时间值（从历元到现在的毫秒偏移量）的Date对象。
    成员方法的参数:
        int field:日历类的字段,可以使用Calendar类的静态成员变量获取
            public static final int YEAR = 1;	年
            public static final int MONTH = 2;	月
            public static final int DATE = 5;	月中的某一天
            public static final int DAY_OF_MONTH = 5;月中的某一天
            public static final int HOUR = 10; 		时
            public static final int MINUTE = 12; 	分
            public static final int SECOND = 13;	秒
 */
public class Demo02Calendar {
    public static void main(String[] args) {
//        Calendar calendar=Calendar.getInstance();
//        System.out.println(calendar.getTime());
        demo01();
        demo02();
        demo03();
        demo04();

    }

    private static void demo04() {
        Calendar c=Calendar.getInstance();
        Date time = c.getTime();
        System.out.println(time);
    }


    private static void demo03() {
        Calendar c=Calendar.getInstance();
        //年增加3年
        c.add(Calendar.YEAR,3);
        //月减少1个月
        c.add(Calendar.MONTH,-1);
        System.out.println("变更后年:" + c.get(Calendar.YEAR));
        System.out.println("变更后月:" + c.get(Calendar.MONTH));
        System.out.println("变更后日:" + c.get(Calendar.DATE));
    }

    private static void demo02() {
        Calendar c = Calendar.getInstance();
        c.set(Calendar.YEAR, 1949);
        c.set(Calendar.MONTH, 10);
        c.set(Calendar.DATE, 1);
        c.set(2021, 10, 1);//重载，直接设置年月日
        System.out.println("设置年:" + c.get(Calendar.YEAR));
        System.out.println("设置月:" + c.get(Calendar.MONTH));
        System.out.println("设置日:" + c.get(Calendar.DATE));
    }

    private static void demo01() {
        //使用getInstance方法获取Calendar对象
        Calendar c = Calendar.getInstance();
        int year = c.get(Calendar.YEAR);
        System.out.println("当前年:" + year);

        int month = c.get(Calendar.MONTH);
        System.out.println("当前月:" + month);//西方的月份0-11 东方:1-12

        int date = c.get(Calendar.DAY_OF_MONTH);
        System.out.println("当前日" + date);
        int date1 = c.get(Calendar.DATE);
        System.out.println("当前日" + date1);
    }
}
